#ifndef __MOVECONTROL_H__
#define __MOVECONTROL_H__
#include <WiFi.h>

// 电机引脚定义（根据实际接线修改）
#define MOTOR_FL_A 15
#define MOTOR_FL_B 14
#define MOTOR_FR_A 0
#define MOTOR_FR_B 16
#define MOTOR_RL_A 13
#define MOTOR_RL_B 12
#define MOTOR_RR_A 2
#define MOTOR_RR_B 4

// PWM配置
#define PWM_FREQ 5000    // 5kHz
#define PWM_RES 8        // 8位分辨率(0-255)
extern volatile int g_baseSpeed;   // 速度 = V原 * g_baseSpeed / 255

// 定义每个轮子的速度
#define FL 0
#define FR 1
#define RL 2
#define RR 3

// 移动相关对外接口
void freeSpeed();           // 更新四个轮子的速度；
void setupPWM();
void moveForward();
void moveBackward();
void moveLeft();
void moveRight();
void stopMotors();
void moveBackwardLeft();    // 左后方移动
void moveForwardLeft();     // 左前方移动
void moveForwardRight();    // 右前方移动
void moveBackwardRight();   // 右后方移动
void clockwise();           // 顺时针选择
void antiClockwise();       // 逆时针选择

#endif